/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.bml.client.secret.demo.sync;

import org.openjdk.jol.info.ClassLayout;

/**
 * @author: baiml
 * @Title: Joltest
 * @ProjectName: 作业管理平台
 * @Depart 软件事业部
 * @Description:
 * @date: 2021/11/12 12:32
 */
class Joltest {
    static  Object obj = new Object();
    public static void main(String[] args) throws InterruptedException {
        Thread.sleep(5000);

        //查看对象内部信息
        System.out.println(ClassLayout.parseInstance(obj).toPrintable());

        System.out.println(Thread.currentThread().getId());

       new Thread(()->{
           synchronized (obj){
               System.out.println(ClassLayout.parseInstance(obj).toPrintable());

           }
       }).start();
        new Thread(()->{
            synchronized (obj){
                System.out.println(ClassLayout.parseInstance(obj).toPrintable());

            }
        }).start();
    }
}
